#pragma once 
#include "IRenderState.h"
#include "Common.h"

namespace Display
{
	class BlendState : Display::IRenderState
	{
		ID3D11BlendState * state;
		D3D11_BLEND_DESC desc;

		BlendState();
		~BlendState();

	public:
		
		EXPORT static BlendState * Create(ID3D11Device * device);
		EXPORT static void Destroy(BlendState * state);

		EXPORT void Apply();
		EXPORT void SubmitChanges();
		EXPORT void Dispose();

	private:

		void SetUp();
		
	};
}